#pragma once
#include "Parameters.h"
const int capacity = 2*MB;

#include "Event.h"

class BinaryMinHeap {

private:
	Event* *data;
	int heapSize;
	int arraySize;
	int getLeftChildIndex(int nodeIndex);
	int getRightChildIndex(int nodeIndex); 
	int getParentIndex(int nodeIndex);
public:
	BinaryMinHeap();
	Event* getMinimum();
 	bool isEmpty();
	~BinaryMinHeap();
	void siftUp(int nodeIndex);
	void addEvent(Event* value);
	void siftDown(int nodeIndex);
	Event* pop();
	int getArraySize() const { return heapSize; } 
};


